1. Field of the Invention
The present invention relates generally to magnetic storage media, and more specifically to a system and method for allowing unidirectional data to be read in either direction.
2. Related Art
Data recorded onto media such as magnetic tapes are typically recorded using a data format standard. For example, one common format for recording 18-track magnetic tapes is the American National Standards Institute (ANSI) standard ASC X3. This standard, for parallel, group coded recording provides for re-blocking and data compression. The inherent nature of this format, however, makes it uni-directional. In other words, tapes written using this format can only be read in the forward direction, thus precluding the processor from reading a block of data in reverse.
To accommodate this standard, tapes recorded using this format are only read in the forward direction. The data read in the forward direction are sent to a buffer and then sent across a channel to the host site for processing. However, certain situations may arise in which it is necessary and/or beneficial to read the data from the tape in the reverse direction. In one such situation, errors may occur when trying to read a block of data in the forward direction. From a "data read" perspective, these errors may be avoided by reading the block in the reverse direction. However, if the data are read in the reverse direction, the host cannot process the data due to the unidirectional nature of the format.
In another situation, the host may request that the data blocks be sent in the reverse order. For example, a portion of the tape may consist of N blocks, in the order 1, 2, . . . , N. The host may request that the blocks be sent across the channel in the reverse order: N, N-1, N-2, . . . 1. To do this the tape must be positioned to the beginning of the last block, block N, and this block must be read in the forward direction. The tape must then be rewound to the beginning of the next-to-last block, block N-1, and this block read in the forward direction. This process of reading a block and rewinding the tape to the beginning of the previous block continues until all blocks of interest are read in the forward direction and sent to the host.
When the second situation arises, a significant amount of time is spent repositioning the tape to read each block in the forward direction. This problem is especially prevalent where tape drives having slow acceleration characteristics (such as streaming tape drives) are used.